This disclosure relates generally to the automation of computer systems event processing. Today's datacenters house increasingly large numbers of computers, each of which may be physically and/or logically partitioned, with each partition being subdivided even further using any of a number of virtualization technologies. For example, a mainframe computer such as the IBM System z10® can support up to 60 logical partitions (LPARs), each of which can support hundreds of z/VM® virtual machine images, each executing its own operating system (e.g., z/Linux). (System z10 and z/VM are registered trademarks of the International Business Machines Corporation.) As a result, a single datacenter may need to support thousands, if not tens of thousands, of real and/or virtual machines, each of which represents a source of events that must be monitored, interpreted and possibly acted upon.
To cope with the volume of information generated by so many event sources, a number of software applications have been developed to centralize the monitoring and processing of datacenter events. For example, the MAINVIEW® software suite, allows a datacenter such as that described above to be managed using a single set of management rules for the entire datacenter. (MAINVIEW is a registered trademark of BMC Software, Inc.) Any event may have one or more discrete “rules” that define a set of automated tasks to be executed if the event occurs in the portion of the datacenter actively monitored and managed by the management station. Event notifications are forwarded to a management station by the originating system to be categorized, filtered and presented to an automation engine that may take action in response to the event based upon one or more pre-programmed criteria (e.g., number of events per minute or the severity of the event).
If incoming events match the criteria of an established automation rule, the events or event sequences may be handled automatically by the software, rather than presented to an operator for action. Software packages such as BMC's MAINVIEW AutoOPERATOR provide the capability of identifying one or more conditions that trigger the execution of preprogrammed responses. More complex processing of events, however, require the use of command procedures such as CLIST and REXX. Such command procedures may be launched by programs such as AutoOPERATOR based on the aforementioned trigger conditions, and these procedures may then perform more complex combinations and calculations based on a wide variety of events and event sequences to determine if a preprogrammed response is warranted.
The use of command procedures, however, incurs a significant processing overhead penalty. Such procedures are launched as separate, stand-alone processes that subsequently communicate with the very same software that launched the procedure to retrieve the information the procedure needs. Further, creating the command procedures require the skills of a proficient programmer familiar with the command procedure language and with the functions that must be invoked to access the needed information from the event processing software. It would be desirable to perform all such processing within the event processing software itself, and to provide an interface that allows a user to describe the desired processing of events without having to be proficient at coding and using command procedures or any other high-level computer programming language.